package com.vates.vsp.servicios.cliente;

import java.util.List;

import com.vates.vsp.entidades.Cliente;
import com.vates.vsp.exceptions.ClienteExistException;
import com.vates.vsp.exceptions.ClienteNoExistException;
import com.vates.vsp.exceptions.ValidationException;

public interface ClienteService {

	void altaCliente(Cliente cliente) throws ClienteExistException, ValidationException;

	void bajaCliente(Cliente cliente) throws ClienteNoExistException;

	void actualizarCliente(Cliente cliente, String nombreOriginal) throws ClienteNoExistException, ValidationException, ClienteExistException;

	Cliente buscarClientePorId(Long idCliente) throws ClienteNoExistException;

	Cliente buscarClientePorNombre(String nombreCliente)
			throws ClienteNoExistException;
	
	Cliente buscarClientePorNif(String nif) throws ClienteNoExistException;

	List<Cliente> buscarTodosClientes();
}
